package com.example.mqttmanage.domain.deviceregistration;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import com.fasterxml.jackson.databind.JsonNode; // 或其他 JSON 库对应的类型

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 注册表
 */
@TableName(value = "device_registrations")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class DeviceRegistration implements Serializable {
    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 设备ID，关联设备的ID
     */
    private String deviceId;

    /**
     * 接收消息 (JSON格式)
     */
    private JsonNode receiveMessages; // 也可以用 String 接收，然后在业务层处理

    /**
     * 回复消息 (JSON格式)
     */
    private JsonNode replyMessages; // 也可以用 String 接收，然后在业务层处理

    /**
     * ICCID (若存在则唯一)
     */
    private String iccid;

    /**
     * 注册时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}